package com.xebest.web.service;  

import java.util.List;
import java.util.Map;

import com.xebest.web.form.XeVenPurchProductForm;
import com.xebest.web.form.XeVenPurchSupInfoForm;
import com.xebest.web.model.XeVenPurchSupInfoEntity;
import com.xebest.web.view.XeVenPurchSupContractView;
import com.xebest.web.view.XeVenPurchSupInfoView;
  
/**  
 * @desc: 供货商接口
 * @author: 李书峰
 * @createTime: 2017年6月28日 下午7:12:43  
 * @history:  
 * @version: v1.0    
 */
public interface XeVenPurchSupplierService {
	
	/**
	 * 新增供货商
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:41:40  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return
	 * @throws Exception int
	 */
	int insertSupplier(XeVenPurchSupInfoForm xeVenPurchSupInfoForm)throws Exception;
	
	/**
	 * 删除供货商
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:41:40  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return
	 * @throws Exception int
	 */
	int deleteSupplier(XeVenPurchSupInfoForm xeVenPurchSupInfoForm)throws Exception;
	
	/**
	 * 编辑供货商
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:41:40  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return
	 * @throws Exception int
	 */
	int updateSupplier(XeVenPurchSupInfoForm xeVenPurchSupInfoForm)throws Exception;
	
	/**
	 * 查询供货商列表
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:43:15  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return List<XeVenPurchSupInfoView>
	 */
	List<XeVenPurchSupInfoView> querySupplierList(XeVenPurchSupInfoForm xeVenPurchSupInfoForm);
	
	/**
	 * 供货商搜索列表
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:43:15  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return List<XeVenPurchSupInfoView>
	 */
	List<Map<String,Object>> searchSupplierList(XeVenPurchSupInfoForm xeVenPurchSupInfoForm);
	
	/**
	 * 查询供货商详情
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:43:36  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return XeVenPurchSupInfoView
	 */
	XeVenPurchSupInfoView querySupplierDetail(XeVenPurchSupInfoForm xeVenPurchSupInfoForm);

	/**
	 * 查询合同列表
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:56:28  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return List<XeVenPurchSupContractView>
	 */
	List<XeVenPurchSupContractView> queryContractList(XeVenPurchSupInfoForm xeVenPurchSupInfoForm);
	
	/**
	 * 查询供货商商品购买记录列表
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:50:43  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return List<XeVenPurchSupProductView>
	 */
	List<Map<String,Object>> queryProductList(XeVenPurchProductForm xeVenPurchProductForm);
	
	/**
	 * 查询api所需供货商code和name列表
	 * @author: 李书峰
	 * @createTime: 2017年7月11日 上午10:19:10  
	 * @history:  
	 * @param supplierEntity
	 * @return List<XeVenPurchSupInfoView>
	 */
	List<XeVenPurchSupInfoView> querySupplierCodes(XeVenPurchSupInfoEntity supplierEntity);

	  
	/**
	 * 查询合同文件列表																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																							
	 * @author: 李书峰
	 * @createTime: 2017年7月11日 上午10:19:10  
	 * @history:  
	 * @param supplierEntity
	 * @return List<XeVenPurchSupInfoView>
	 */
	List<String> queryContractFileList(XeVenPurchSupInfoForm xeVenPurchSupInfoForm);
	
	/**
	 * 批量更新供货商
	 * @author: 李书峰
	 * @createTime: 2017年6月28日 下午7:41:40  
	 * @history:  
	 * @param xeVenPurchSupInfoForm
	 * @return
	 * @throws Exception int
	 */
	Map<String,Object> updateSupplierList(List<XeVenPurchSupInfoForm> formList);
	
	 /**
     * 查询采购供货商信息,支付中心-结算管理-结算白名单使用
     * @author: 李贝贝
     * @createTime: 2018年5月7日 下午2:14:22  
     * @history:  
     * @param supplier
     * @return List<XeVenPurchSupInfoView>
     */
    List<XeVenPurchSupInfoView> listPurchSupInfo(XeVenPurchSupInfoEntity supplier);
}
  
